Le terme «ingénierie» dans le contexte du développement de logiciels peut être un peu ambigu. Il est souvent utilisé de manière interchangeable avec "l'ingénierie logicielle" mais il existe des différences subtiles. Voici une ventilation:
Engineering est un vaste champ qui englobe la conception, la construction et le fonctionnement de tout type de système, y compris les logiciels. Cela implique généralement:
* Application des principes scientifiques et des méthodes mathématiques: Les ingénieurs utilisent ces outils pour analyser, concevoir et optimiser les systèmes.
* se concentrer sur l'efficacité, la fiabilité et la sécurité: Les ingénieurs s'efforcent de créer des systèmes fonctionnels, robustes et sûrs pour les utilisateurs.
* Travailler avec des systèmes complexes: Les ingénieurs travaillent souvent sur des projets avec de nombreuses pièces interconnectées.
Génie logiciel , en particulier, est une branche de l'ingénierie qui se concentre sur la conception, le développement et la maintenance des systèmes logiciels. Cela implique:
* Comprendre et appliquer des méthodologies de développement de logiciels: Cela pourrait inclure des approches agiles, cascades ou autres.
* en utilisant les langages de programmation et les outils de développement de logiciels: Les ingénieurs écrivent du code, créent un logiciel et utilisent divers outils pour gérer le processus de développement.
* se concentrer sur la qualité du logiciel: Les ingénieurs logiciels s'efforcent de créer un logiciel fonctionnel, efficace, sécurisé et convivial.
Génie logiciel orienté objet est une approche spécifique au sein de l'ingénierie logicielle qui met l'accent sur l'utilisation d'objets comme principaux blocs de construction des logiciels. Il se concentre sur:
* Encapsulation: Combinant des données et les opérations qui agissent sur ces données en unités uniques appelées objets.
* Abstraction: Représentant des systèmes complexes à travers des interfaces plus simples, cachant des détails inutiles.
* héritage: Permettant à de nouveaux objets d'hériter des propriétés et des comportements de ceux existants.
* Polymorphisme: Permettre aux objets de répondre au même message de différentes manières, en fonction de leur type.
en bref:
* Engineering est un vaste domaine, englobant diverses disciplines, y compris les logiciels.
* Engineering logiciel est une branche spécifique axée sur le développement de logiciels.
* Génie logiciel orienté objet est une approche spécifique au sein de l'ingénierie logicielle qui utilise des principes axés sur les objets pour la conception et le développement logiciels.
Pensez-y de cette façon:
* Engineering est la base, englobant toutes sortes de systèmes.
* Engineering logiciel est un bâtiment spécifique au sein de la fondation, en se concentrant sur les systèmes logiciels.
* Génie logiciel orienté objet est une pièce particulière du bâtiment d'ingénierie logicielle, en utilisant des principes orientés objet pour la conception de logiciels.
|