Définitions
- 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.
- needs
- problem domain
- Features
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
- System
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
Propriété
- Must be verifiable (within the available ressource constraints)
- Quantifiable, stated clearly and as unambiguously as possible
- Priority rating (to enabled trade-offs): must-have, nice-to-have, fantasy
- Status value (to enable progress to be monitored)
- Uniquely identified (software configuration control)
Propriété d'un document de spécification des exigences (SyRS IEEE Std 1233, 1998)
- Ensemble unique d'exigences (pas de doublon)
- Normalisé (pas de chevauchement dans les exigences)
- Ensemble lié (explication des liens entre les exigences pour formé un tout)
- Complet (inclus toutes les exigences requises par l'utilisateur ou parties prenantes)
- Consistant (consistant et non-contradictoire dans le niveau de détail, le style, la présentation, le contenu)
- Borné (scope/boundaries/context explicite)
- Modifiable (peut-être facilement modifié sans avoir trop d'impact)
- Configurable (gestion des versions adéquate)
- 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)
- Correct, Non-ambigu, complet, consistant, importance, stabilité, nécessité évalué, vérifiable, modifiable, traçable
- 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.