Software development processIn software engineering, a software development process is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Méthode agilevignette|Daily stand-up, rituel quotidien des méthodes agiles. En ingénierie logicielle, les mettent en avant la collaboration entre des équipes auto-organisées et pluridisciplinaires et leurs clients. Elles s'appuient sur l'utilisation d'un cadre méthodologique léger mais suffisant centré sur l'humain et la communication. Elles préconisent une planification adaptative, un développement évolutif, une livraison précoce et une amélioration continue, et elles encouragent des réponses flexibles au changement.
Dynamic systems development methodDynamic systems development method (DSDM) est une méthode de gestion de projet de la catégorie des méthodes agiles. Cette méthode a été développée en Grande-Bretagne à partir de 1994. La méthode DSDM s'appuie sur 9 principes de base : Implication des utilisateurs durant tout le cycle de développement. Ils sont considérés comme des membres à part entière de l'équipe projet ; Autonomie. L'équipe projet doit avoir un pouvoir de prise de décision concernant l'évolution des besoins ; Visibilité du résultat.
Méthode d'analyse et de conception d'applications orientées objetLa méthode d'analyse et de conception d'applications orientées objet (dite MACAO) est fondée sur une démarche participative par prototypage incrémental (processus itératif) permettant aux utilisateurs d'intervenir très tôt dans le processus de développement du logiciel. MACAO utilise la notation UML afin de définir la structure du logiciel en termes de classes et de composants ainsi que pour modéliser sa dynamique à l'aide de diagrammes d'interactions ou d'états/transitions.
Programmation orientée objetLa programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation informatique. Elle consiste en la définition et l'interaction de briques logicielles appelées objets ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre. Il possède une structure interne et un comportement, et il sait interagir avec ses pairs.
Test driven developmentTest-Driven Development (TDD), ou développement piloté par les tests en français, est une méthode de développement de logiciel qui consiste à concevoir un logiciel par des itérations successives très courtes (ou petits pas), telles que chaque itération est accomplie en formulant un sous-problème à résoudre sous forme d'un test avant d'écrire le code source correspondant, et où le code est continuellement remanié dans une volonté de simplification. À l'origine, il s'agissait simplement d'écrire les tests avant de coder, et cette méthode s'appelait le Test-First Design.
Développement rapide d'applicationsLa méthode de développement rapide d'applications, dite méthode RAD (acronyme de l'anglais rapid-application development), est la première méthode de développement de logiciels où le cycle de développement est en rupture fondamentale par rapport à celui des méthodes antérieures dites « en cascade ». Ce nouveau cycle qualifié d'itératif, d'incrémental et d'adaptatif, se retrouvera dans toutes les méthodes dites « agiles » publiées par la suite.
ComputationA computation is any type of arithmetic or non-arithmetic calculation that is well-defined. Common examples of computations are mathematical equations and computer algorithms. Mechanical or electronic devices (or, historically, people) that perform computations are known as computers. The study of computation is the field of computability, itself a sub-field of computer science. The notion that mathematical statements should be ‘well-defined’ had been argued by mathematicians since at least the 1600s, but agreement on a suitable definition proved elusive.
ManagementLe management est la science sociale de la planification, de l'organisation , de la coordination et du contrôle du travail et des ressources ayant comme but d'atteindre un objectif. La gestion d'entreprise est un des champs de la discipline, mais celle-ci s'étend à toutes formes d'organisations. Il existe aussi les sciences de gestion, qui incluent des disciplines des champs du management.
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.
FuturLe futur, ou l’avenir, est pour un système, l’ensemble des configurations possibles qui n'existent pas (c-à-d. qui n'ont pas encore eu lieu). Dans la ligne du temps, le futur vient après le présent et le passé. Les membres de l'espèce humaine, à partir d'un certain âge, se distinguent par des capacités élevées cognitives, de conceptualisation et d'imagination qui leur permettent d'envisager le futur proche et de s'y projeter, mais aussi d'imaginer des futurs possibles plus lointains où vivront ce qu'on appelle maintenant les générations futures.
HiérarchieLe concept de hiérarchie tiré des vocables grec hieros (« sacré ») et archos (« commencement », ou « ce qui est premier ») ou plus certainement arkhê (« pouvoir », ou « commandement ») s'applique à plusieurs domaines, physiques ou moraux. Définition économique : fait qu'un individu A puisse obtenir d'un individu B qu'il serve les intérêts de son supérieur plutôt que ses intérêts propres. Étymologiquement parlant, la notion de hiérarchie est basée sur le caractère plus ou moins sacré attribué à une personne, un concept ou une chose.
Model of computationIn computer science, and more specifically in computability theory and computational complexity theory, a model of computation is a model which describes how an output of a mathematical function is computed given an input. A model describes how units of computations, memories, and communications are organized. The computational complexity of an algorithm can be measured given a model of computation. Using a model allows studying the performance of algorithms independently of the variations that are specific to particular implementations and specific technology.
Méthode formelle (informatique)En informatique, les méthodes formelles sont des techniques permettant de raisonner rigoureusement, à l'aide de logique mathématique, sur un programme informatique ou du matériel électronique numérique, afin de démontrer leur validité par rapport à une certaine spécification. Elles reposent sur les sémantiques des programmes, c'est-à-dire sur des descriptions mathématiques formelles du sens d'un programme donné par son code source (ou, parfois, son code objet).
Sphère de coordinationEn chimie de coordination, une sphère de coordination est l'ensemble formé par un atome ou ion central, entouré par l'ensemble de ses ligands, molécules ou anions. Les molécules liées de façon non-covalente aux ligands sont appelés seconde sphère de coordination. La première sphère de coordination réfère aux molécules directement attachées au métal central. Ces molécules sont typiquement des solvants. Les interactions entre la première et la seconde sphère de coordination implique généralement des liaisons hydrogène.
Ordre totalEn mathématiques, on appelle relation d'ordre total sur un ensemble E toute relation d'ordre ≤ pour laquelle deux éléments de E sont toujours comparables, c'est-à-dire que On dit alors que E est totalement ordonné par ≤. Une relation binaire ≤ sur un ensemble E est un ordre total si (pour tous éléments x, y et z de E) : x ≤ x (réflexivité) ; si x ≤ y et y ≤ x, alors x = y (antisymétrie) ; si x ≤ y et y ≤ z, alors x ≤ z (transitivité) ; x ≤ y ou y ≤ x (totalité). Les trois premières propriétés sont celles faisant de ≤ une relation d'ordre.
Programmation orientée aspectLa programmation orientée aspect ou POA (en anglais, aspect oriented programming ou AOP) est un paradigme de programmation qui permet de traiter séparément les préoccupations transversales (en anglais, cross-cutting concerns), qui relèvent souvent de la technique, des préoccupations métier, qui constituent le cœur d'une application. Un exemple classique d'utilisation est la journalisation, mais certains principes architecturaux ou modèles de conception peuvent être implémentés à l'aide de ce paradigme de programmation, comme l'inversion de contrôle.
CoordinenceLa coordinence (ou coordinance) d'un atome central dans une molécule ou un cristal est le nombre d'atomes, molécules ou ions voisins les plus proches dans les trois directions de l'espace et reliés à cet atome central. Elle s'appelle aussi le nombre de coordination ou l'indice de coordination. Le décompte des voisins se fait un peu différemment en chimie moléculaire et en cristallographie.
Futures (informatique)En programmation, les notions de futurs (« futures »), promesses (« promises ») ou délais (« delay ») font référence à des techniques de synchronisation pour certains langages concurrents. Il s'agit d'abstractions qui servent de proxy pour un résultat non-connu au moment où il est référencé pour la première fois, car son calcul ou son obtention se feront « plus tard » à l'exécution. Le terme générique de promise (« promesse ») a été proposé par Daniel P. Friedman et David Wise en 1976 ; Peter Hibbard le dénommait eventual à la même époque.