Software requirement
At its most basic, a software requirement is a property which must be exhibited in order to solve some problem in the real world [or which must be exhibited by software developed or adapted to solve a particular problem.], Guide Swebok, Version 2004, 2-1.
1. A software capability needed by the user to solve a problem to achieve an objective, Dorfman and Thayer [1990]
2. A software capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed documentation, Dorfman and Thayer [1990]
solution domain
Product requirement or parameter
Exigences du logiciel à développer
Process requirement or parameter
Contraintes sur le développement du logiciel (langage de programmation, outil utilisé, ...)
Function Requirements
Describe the functions that the software is to execute, SWEBOK
Synonyme: capabilities
Non-functional Requirements
Requirements that act to constrain the solution, SWEBOK
Synonyme: contraite, exigences de qualité
Performance, Maintainability, Safety, reliability.
Design contraints
Restrictions on the design of a system, or the process by which a system is developed, that do not affect the external behavior of the system but that must be fulfilled to meet technical, business, or contractual obligations., [MSR 2004]
Emergent Properties (drivers in system architecture)
Requirements which cannot be addressed by a single component, but which depend for their satisfaction on how all the software components interoperate, SWEBOK
Requirements management
a systematic approach to eliciting, organizing, and documenting the requirements of a system, and a process that establishes and maintains agreement between the customer and the project team on the changing requirements of the system., Leffingwell D., Widrig D., Managing Software Requirements, 2nd edition, p. 16, 2004.
depends on project size and complexity of the software project
describe in SEI-CMM and ISO 9000 quality management standards.
problem domain
a service provided by the system that fulfills one or more stakeholder needs, [MSR 2004], 2nd edition.
solution domain
Business rules
A business rule is a statement that defines or constrains some aspect of the business. It is intended to assert business structure or to control or influence the behavior of the business., Business Rules Group (1993)
type: facts, constraints, action enablers, computations, inferences and terms (glossaire)
static or dynamic, source
an interacting combination of elements to accomplish a defined objective. These include hardware, software, firmware, people, information techniques, facilities, services, and other support elements, International Council on Systems Engineering, INCONSE00


  1. Must be verifiable (within the available ressource constraints)
  2. Quantifiable, stated clearly and as unambiguously as possible
  3. Priority rating (to enabled trade-offs): must-have, nice-to-have, fantasy
  4. Status value (to enable progress to be monitored)
  5. Uniquely identified (software configuration control)

Propriété d'un document de spécification des exigences (SyRS IEEE Std 1233, 1998)

  1. Ensemble unique d'exigences (pas de doublon)
  2. Normalisé (pas de chevauchement dans les exigences)
  3. Ensemble lié (explication des liens entre les exigences pour formé un tout)
  4. Complet (inclus toutes les exigences requises par l'utilisateur ou parties prenantes)
  5. Consistant (consistant et non-contradictoire dans le niveau de détail, le style, la présentation, le contenu)
  6. Borné (scope/boundaries/context explicite)
  7. Modifiable (peut-être facilement modifié sans avoir trop d'impact)
  8. Configurable (gestion des versions adéquate)
  9. Granulaire (Niveau d'abstraction adéquat pour le système définit)

Propriété d'un document de spécification des exigences (SRS IEEE Std 830, 1998)

  1. Correct, Non-ambigu, complet, consistant, importance, stabilité, nécessité évalué, vérifiable, modifiable, traçable
  2. Inclus: fonctionnalité, interfaces externes (personne, matériel, logiciel), performance, attributs, contraintes conceptuelles (design constraints)

Type d'application logiciel

  • Information systems (Information system/information technology industry or IS/IT)
  • Software developed and sold as commercial products (independant software vendors, ISVs)
  • Embedded-system application or embedded application : software that runs on computers embedded in other devices, machines or complex system
  • ?yan morin: open source software?

Description du comportement d'un logiciel

  • Inputs to the systems
  • Outputs from the systems
  • Functions of the systems
  • Attributes of the systems (qualité)
  • Attributes of the system environment

Importance du prototypage (IEEE Std 830-1998)

  • Feedback rapide (le client ne veut parfois pas lire le SRS)
  • Affichage de comportement non anticipé. Produit de nouvelle question. Aide à compléter le SRS.
  • Temps à diminuer le nombre de changements et le temps de développement.