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.
Développement de logicielLe développement de logiciel consiste à étudier, concevoir, construire, transformer, mettre au point, maintenir et améliorer des logiciels. Ce travail est effectué par les employés d'éditeurs de logiciels, des entreprises de services du numérique (ESN), des travailleurs indépendants (freelance) et des membres de la communauté du logiciel libre. Un logiciel est créé petit à petit par une équipe d'ingénieurs conformément à un cahier des charges établi par un client demandeur ou une équipe interne.
Prototypage logicielLe prototypage logiciel (ou « software prototyping » en anglais) désigne l'ensemble des activités de création de prototypes pour les logiciels, c'est-à-dire des versions incomplètes du programme en cours de développement. Cette activité est donc assez proche de la création et la validation de prototypes, telle qu'on la pratique dans l'industrie. Ainsi, un prototype permet d'explorer de façon interactive des scénarios d'utilisation du produit pour en valider les orientations.
Analyse systémiqueL'analyse systémique est l'analyse faite selon les principes interdisciplinaires de la systémique, étude d'objets complexes par leurs échanges, qu'il s'agisse d'êtres vivants, d'organisations sociales, ou d'objets techniques. Face à ce type de problème, il est nécessaire d'adopter une démarche globale : en s'attachant davantage aux échanges entre les parties du système qu'à l'analyse de chacune d'elles, en raisonnant par rapport à l'objectif du système (téléologie), en établissant les états stables possibles du système.
Analyse statique de programmesEn informatique, la notion d’analyse statique de programmes couvre une variété de méthodes utilisées pour obtenir des informations sur le comportement d'un programme lors de son exécution sans réellement l'exécuter. C'est cette dernière restriction qui distingue l'analyse statique des analyses dynamiques (comme le débugage ou le profiling) qui s'attachent, elles, au suivi de l’exécution du programme. L’analyse statique est utilisée pour repérer des erreurs formelles de programmation ou de conception et pour déterminer la facilité ou la difficulté à maintenir le code.
Processus unifiéLe processus unifié (PU), ou « unified process (UP) » en anglais, ou « Unified Software Development Process (USDP) » est une famille de méthodes de développement de logiciels orientés objets. Elle se caractérise par une démarche itérative et incrémentale, pilotée par les cas d'utilisation, et centrée sur l'architecture et les modèles UML. Elle définit un processus intégrant toutes les activités de conception et de réalisation au sein de cycles de développement composés d'une phase de création, d'une phase d'élaboration, d'une phase de construction et d'une phase de transition, comprenant chacune plusieurs itérations.
Rational unified processThe rational unified process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003. RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. RUP is a specific implementation of the Unified Process.
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.
Program analysisIn computer science, program analysis is the process of automatically analyzing the behavior of computer programs regarding a property such as correctness, robustness, safety and liveness. Program analysis focuses on two major areas: program optimization and program correctness. The first focuses on improving the program’s performance while reducing the resource usage while the latter focuses on ensuring that the program does what it is supposed to do.
Documentation logicielleLa documentation logicielle est un texte, généralement accompagné de captures d'écran, qui concerne un logiciel informatique. Elle explique comment le logiciel fonctionne, et/ou comment on doit l'employer. Le terme peut avoir des significations différentes pour des personnes de différents profils. La documentation constitue une partie importante de l'ingénierie logicielle, qui est souvent négligée. La documentation peut être de plusieurs types : L'expression de besoin - Définit le besoin du métier lors d'une demande.
AnalysisAnalysis (: analyses) is the process of breaking a complex topic or substance into smaller parts in order to gain a better understanding of it. The technique has been applied in the study of mathematics and logic since before Aristotle (384–322 B.C.), though analysis as a formal concept is a relatively recent development. The word comes from the Ancient Greek ἀνάλυσις (analysis, "a breaking-up" or "an untying;" from ana- "up, throughout" and lysis "a loosening"). From it also comes the word's plural, analyses.
Analyse des donnéesL’analyse des données (aussi appelée analyse exploratoire des données ou AED) est une famille de méthodes statistiques dont les principales caractéristiques sont d'être multidimensionnelles et descriptives. Dans l'acception française, la terminologie « analyse des données » désigne donc un sous-ensemble de ce qui est appelé plus généralement la statistique multivariée. Certaines méthodes, pour la plupart géométriques, aident à faire ressortir les relations pouvant exister entre les différentes données et à en tirer une information statistique qui permet de décrire de façon plus succincte les principales informations contenues dans ces données.
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).
Software verification and validationIn software project management, software testing, and software engineering, verification and validation (V&V) is the process of checking that a software system meets specifications and requirements so that it fulfills its intended purpose. It may also be referred to as software quality control. It is normally the responsibility of software testers as part of the software development lifecycle.
Agile unified processAgile unified process (AUP) is a simplified version of the rational unified process (RUP) developed by Scott Ambler. It describes a simple, easy to understand approach to developing business application software using agile techniques and concepts yet still remaining true to the RUP. The AUP applies agile techniques including test-driven development (TDD), agile modeling (AM), agile change management, and database refactoring to improve productivity. In 2011 the AUP accounted for one percent of all the agile methodologies used.
Contrôle de processusLe contrôle de processus est un terme utilisé pour désigner l'ensemble du matériel et des logiciels servant à piloter et surveiller le processus de fabrication de produits. Il est le plus souvent constitué d'une chaîne de moyens (appelée boucle de régulation) : capteurs de mesures physiques ou physico-chimiques : pression, niveau, débit, température, pH, viscosité, turbidité, conductivité... Ces capteurs fournissent aux régulateurs de manière continue ou discrète l'indication directe ou indirecte de l'état du processus.
Analyse (mathématiques)L'analyse (du grec , délier, examiner en détail, résoudre) a pour point de départ la formulation rigoureuse du calcul infinitésimal. C'est la branche des mathématiques qui traite explicitement de la notion de limite, que ce soit la limite d'une suite ou la limite d'une fonction. Elle inclut également des notions comme la continuité, la dérivation et l'intégration. Ces notions sont étudiées dans le contexte des nombres réels ou des nombres complexes.
Groupwarealt=Capture d'écran d'une application mobile collaborative|vignette|Capture d'écran d'une application mobile collaborative Un groupware, collecticiel, ou encore logiciel de groupe, est un type de logiciel qui permet à un groupe de personnes de partager des documents à distance pour favoriser le travail collaboratif. Le terme anglais d'origine « groupware » a été formé comme un dérivé de « hardware » et « software ». L'Office québécois de la langue française recommande la traduction « collecticiel ».
Supervision (informatique)La supervision est une technique industrielle de suivi et de pilotage informatique de procédés de fabrication automatisés. La supervision concerne l'acquisition de données (mesures, alarmes, retour d'état de fonctionnement) et des paramètres de commande des processus généralement confiés à des automates programmables. Dans l'informatique, la supervision est la surveillance du bon fonctionnement d’un système ou d’une activité. À ne pas confondre avec l'hypervision, qui elle correspond à la centralisation des outils de supervision, d’infrastructure, d'applications et de référentiels (ex.