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.
Sûreté du typageLa sûreté du typage est un principe permettant d'améliorer la qualité de la programmation. Dans les langages à typage statique, l'un des objectifs est d'intercepter les erreurs de type de données lors de la compilation. Un type peut être vu comme un ensemble de valeurs et un ensemble d'opérateurs. La programmation objet a introduit les notions d'objets, messages, classes, héritage. Il est tentant de faire coller les classes à des types.
Ingénierie des systèmesL'ingénierie des systèmes ou ingénierie système est une approche scientifique interdisciplinaire, dont le but est de formaliser et d'appréhender la conception et la validation de systèmes complexes. L'ingénierie des systèmes a pour objectif de maîtriser et de contrôler la conception de systèmes dont la complexité ne permet pas le pilotage simple. Par système, on entend un ensemble d'éléments humains ou matériels en interdépendance les uns les autres et qui inter-opèrent à l'intérieur de frontières ouvertes ou non sur l'environnement.
Uniform moduleIn abstract algebra, a module is called a uniform module if the intersection of any two nonzero submodules is nonzero. This is equivalent to saying that every nonzero submodule of M is an essential submodule. A ring may be called a right (left) uniform ring if it is uniform as a right (left) module over itself. Alfred Goldie used the notion of uniform modules to construct a measure of dimension for modules, now known as the uniform dimension (or Goldie dimension) of a module.
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.
Source-code compatibilitySource-code compatibility (source-compatible) means that a program can run on computers (or operating systems), independently of binary-code compatibility and that the source code is needed for portability. The source code must be compiled before running, unless the computer used has an interpreter for the language at hand. The term is also used for assembly language compatibility, where the source is a human-readable form of machine code that must be converted into numerical (i.e. executable) machine code by an assembler.
Open-source softwareOpen-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative, public manner. Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite.
ExtensibilitéEn informatique matérielle et logicielle et en télécommunications, l’extensibilité ou scalabilité désigne la capacité d'un produit à s'adapter à un changement d'ordre de grandeur de la demande (montée en charge), en particulier sa capacité à maintenir ses fonctionnalités et ses performances en cas de forte demande. Selon René J. Chevance, le mot anglais scalability, formé sur l'adjectif scalable dérivé du verbe to scale (« changer d'échelle »), « n'a pas d'équivalent communément admis en français ».
Type systemIn computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type (for example, integer, floating point, string) to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer program, such as variables, expressions, functions, or modules. A type system dictates the operations that can be performed on a term. For variables, the type system determines the allowed values of that term.
Systems scienceSystems science, also referred to as systems research, or, simply, systems, is a transdisciplinary field concerned with understanding systems—from simple to complex—in nature, society, cognition, engineering, technology and science itself. The field is diverse, spanning the formal, natural, social, and applied sciences. To systems scientists, the world can be understood as a system of systems.
Module de commande et de service ApolloLe module de commande et de service Apollo (Command/Service Module ou CSM en anglais) est le véhicule spatial du programme Apollo conçu pour transporter les trois astronautes durant leur mission entre la Terre et la Lune. Sa conception démarre en 1961 au lancement du programme Apollo ; il a effectué son premier vol avec équipage en 1968 (mission Apollo 7) et son dernier dans le cadre de la mission Apollo-Soyouz en 1975. La conception du vaisseau Apollo est revue à la suite de l'incident qui détruit au sol la capsule Apollo 1 au cours de tests qui coûtent la vie aux trois membres de l'équipage.
Système de systèmesUn système de systèmes est un système constitué de systèmes constituants hétérogènes. Un système de système a des capacités plus grandes que la somme des fonctions de ses systèmes constituants. Un système de système se caractérise par: Une indépendance opérationnelle de ses systèmes constituants Une indépendance managériale de ses systèmes Une distribution géographique marquée de ses systèmes constituants Un processus de développement incrémental La présence de comportements émergeant Un système de contrôle