Non-functional requirementIn systems engineering and requirements engineering, a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours. They are contrasted with functional requirements that define specific behavior or functions. The plan for implementing functional requirements is detailed in the system design. The plan for implementing non-functional requirements is detailed in the system architecture, because they are usually architecturally significant requirements.
Requirements engineeringRequirements engineering (RE) is the process of defining, documenting, and maintaining requirements in the engineering design process. It is a common role in systems engineering and software engineering. The first use of the term requirements engineering was probably in 1964 in the conference paper "Maintenance, Maintainability, and System Requirements Engineering", but it did not come into general use until the late 1990s with the publication of an IEEE Computer Society tutorial in March 1997 and the establishment of a conference series on requirements engineering that has evolved into the International Requirements Engineering Conference.
Conception centrée sur l'utilisateurLa conception centrée sur l'utilisateur ou conception orientée utilisateur (UCD, user-centered design en anglais) est une philosophie et une démarche de conception surtout présente en ergonomie informatique, où les besoins, les attentes et les caractéristiques propres des utilisateurs finaux sont pris en compte à chaque étape du processus de développement d'un produit. La norme ISO 9241-210 qui annule et remplace la norme ISO 13407 définit sept ensembles de pratique de base pour mettre en œuvre le processus de conception centrée sur l'utilisateur.
Exigence (ingénierie)Une est, dans le domaine de l'ingénierie, un besoin, une nécessité, une attente auquel un produit ou un service doit répondre ou une contrainte qu'il doit satisfaire. L'exigence peut être exprimée par une partie prenante (utilisateur, client, commercial, analyste de marchés, gestionnaire de produits, etc.) ou déterminée par les processus d'ingénierie et en particulier les activités d'études. L'approche commune à tous les domaines d'ingénierie est de définir les besoins, d'envisager des solutions, et de livrer la solution la plus appropriée.
Spécification fonctionnelleLa spécification fonctionnelle est la description des fonctions d'un logiciel en vue de sa réalisation. La spécification fonctionnelle décrit dans le détail la façon dont les exigences seront prises en compte. Un exemple d'exigence est l'adaptation d'un progiciel à l'utilisateur en ce qui concerne la langue (le français dans les pays francophones). Une spécification fonctionnelle est indépendante de la façon dont sera réalisé le logiciel en question. Elle doit être exprimée en termes de fonctions et non pas en termes de solutions.
Analyse des exigencesEn ingénierie des systèmes et en ingénierie logicielle, l'analyse des exigences comprend les tâches qui ont pour but de déterminer les exigences d'un système nouveau ou à modifier, en prenant en compte le conflit possible entre les exigences de diverses parties prenantes, telles que les utilisateurs. L'analyse des exigences est critique pour le succès d'un projet. Les interviews de parties prenantes sont une méthode communément employée dans l'analyse des exigences.
Software requirements specificationA software requirements specification (SRS) is a description of a software system to be developed. It is modeled after the business requirements specification (CONOPS). The software requirements specification lays out functional and non-functional requirements, and it may include a set of use cases that describe user interactions that the software must provide to the user for perfect interaction.
Business requirementsBusiness requirements, also known as stakeholder requirements specifications (StRS), describe the characteristics of a proposed system from the viewpoint of the system's end user like a CONOPS. Products, systems, software, and processes are ways of how to deliver, satisfy, or meet business requirements. Consequently, business requirements are often discussed in the context of developing or procuring software or other systems. Three main reasons for such discussions: A common practice is to refer to objectives, or expected benefits, as 'business requirements.
User experience designUser experience design (UX design, UXD, UED, or XD) is the process of defining the experience a user would go through when interacting with a company, its services, and its products. Design decisions in UX design are often driven by research, data analysis, and test results rather than aesthetic preferences and opinions. Unlike user interface design, which focuses solely on the design of a computer interface, UX design encompasses all aspects of a user's perceived experience with a product or website, such as its usability, usefulness, desirability, brand perception, and overall performance.
Programmation fonctionnelleLa programmation fonctionnelle est un paradigme de programmation de type déclaratif qui considère le calcul en tant qu'évaluation de fonctions mathématiques. Comme le changement d'état et la mutation des données ne peuvent pas être représentés par des évaluations de fonctions la programmation fonctionnelle ne les admet pas, au contraire elle met en avant l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état.
Cahier des charges fonctionnelLe cahier des charges fonctionnel (CdCF) est un document formalisant un besoin, en détaillant les fonctionnalités attendues d'un système, d'un produit ou d'un service ainsi que les contraintes (techniques, réglementaires, budgétaires, etc.) auxquelles il est soumis. Pour la bonne compréhension de ces trois mots, une forme d'écriture peut être d'écrire fonctionnelles pour qualifier les charges en termes de fonctions qui seront formulées en utilisant des verbes à l'infinitif pour confirmer qu'il s'agit d'actions.
Persona (marketing)alt=Une photo d'une jeune fille avec un chien. À côté, son identité la décrit comme Marion Bouard, une lycéenne de 16 ans connaissant l'informatique mais peu les outils de bureautique. Le persona décrit ses caractéristiques globales à l'école, ses objectifs à court (passer en 1ère S) et long (devenir vétérinaire) terme auxquels l'application peut répondre. En-dessous sont décrits des scénarions d'utilisation de l'application "Joue avec les maths".
Gestion des exigencesLa gestion des exigences consiste à gérer les exigences hiérarchisées d'un projet, à détecter les incohérences entre elles et à assurer leur traçabilité. Dans de nombreux métiers, l'expression de ces exigences donne lieu à une quantité de documents dont la cohérence et la qualité conditionnent le succès ou l'échec des projets concernés. Il existe des logiciels spécialisés qui permettent d'aider à la réalisation de cette activité.
Programmation purement fonctionnelleEn informatique, la programmation purement fonctionnelle est un paradigme de programmation qui considère toutes les opérations comme l'évaluation de fonctions mathématiques. L'état et les objets immuables sont généralement modélisés à l'aide d'une logique temporelle, en tant que variables explicites représentant l'état du programme à chaque étape de son exécution : l'état d'une variable est transmis en tant que paramètre d'entrée d'une fonction de transformation d'état, qui renvoie l'état mis à jour en tant que partie de sa valeur de retour.
Génie logicielLe génie logiciel, l'ingénierie logicielle ou l'ingénierie du logiciel (en software engineering) est une science de génie industriel qui étudie les méthodes de travail et les bonnes pratiques des ingénieurs qui développent des logiciels. Le génie logiciel s'intéresse en particulier aux procédures systématiques qui permettent d'arriver à ce que des logiciels de grande taille correspondent aux attentes du client, soient fiables, aient un coût d'entretien réduit et de bonnes performances tout en respectant les délais et les coûts de construction.
Software requirementsSoftware requirements for a system are the description of what the system should do, the service or services that it provides and the constraints on its operation. The IEEE Standard Glossary of Software Engineering Terminology defines a requirement as: A condition or capability needed by a user to solve a problem or achieve an objective. A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document.
User interface designUser interface (UI) design or user interface engineering is the design of user interfaces for machines and software, such as computers, home appliances, mobile devices, and other electronic devices, with the focus on maximizing usability and the user experience. In computer or software design, user interface (UI) design primarily focuses on information architecture. It is the process of building interfaces that clearly communicates to the user what's important. UI design refers to graphical user interfaces and other forms of interface design.