Der Begriff "Engineering" im Kontext der Softwareentwicklung kann etwas mehrdeutig sein. Es wird oft synonym mit "Software -Engineering" verwendet, aber es gibt subtile Unterschiede. Hier ist eine Aufschlüsselung:
Engineering ist ein breites Feld, das den Entwurf, die Konstruktion und den Betrieb jeglicher Art von Systemen, einschließlich Software, umfasst. Es beinhaltet normalerweise:
* Anwenden wissenschaftlicher Prinzipien und mathematischer Methoden: Ingenieure verwenden diese Tools, um Systeme zu analysieren, zu entwerfen und zu optimieren.
* Konzentration auf Effizienz, Zuverlässigkeit und Sicherheit: Ingenieure bemühen sich, Systeme zu erstellen, die für Benutzer funktional, robust und sicher sind.
* Arbeiten mit komplexen Systemen: Ingenieure arbeiten häufig an Projekten mit vielen miteinander verbundenen Teilen.
Software Engineering Insbesondere ist ein Engineerzweig, der sich auf die Gestaltung, Entwicklung und Wartung von Softwaresystemen konzentriert. Es beinhaltet:
* Verständnis und Anwendung von Softwareentwicklungsmethoden: Dies kann agil, Wasserfall oder andere Ansätze umfassen.
* Verwenden von Programmiersprachen und Softwareentwicklungstools: Ingenieure schreiben Code, erstellen Software und verwenden verschiedene Tools, um den Entwicklungsprozess zu verwalten.
* Konzentration auf Softwarequalität: Software-Ingenieure bemühen sich, Software zu erstellen, die funktional, effizient, sicher und benutzerfreundlich ist.
objektorientierte Software Engineering ist ein spezifischer Ansatz in der Software -Engineering, der die Verwendung von Objekten als Kernbausteine der Software hervorhebt. Es konzentriert sich auf:
* Kapselung: Kombinieren Sie Daten und Operationen, die auf diese Daten in einzelne Einheiten bezeichnet werden, die als Objekte bezeichnet werden.
* Abstraktion: Darstellung komplexer Systeme durch einfachere Schnittstellen und unnötige Details.
* Vererbung: Ermöglichen, dass neue Objekte Eigenschaften und Verhalten von vorhandenen erben.
* Polymorphismus: Ermöglichen, dass Objekte basierend auf ihrem Typ auf die gleiche Nachricht auf unterschiedliche Weise reagieren.
Kurz gesagt:
* Engineering ist ein breites Feld, das verschiedene Disziplinen einschließlich Software umfasst.
* Software Engineering ist eine spezielle Zweigstelle, die sich auf die Softwareentwicklung konzentriert.
* objektorientiertes Software-Engineering ist ein spezifischer Ansatz innerhalb von Software Engineering, der objektorientierte Prinzipien für Softwaredesign und -entwicklung verwendet.
Stellen Sie sich das so vor:
* Engineering ist die Grundlage, die alle Arten von Systemen umfasst.
* Software Engineering ist ein spezifisches Gebäude innerhalb des Fundaments, das sich auf Softwaresysteme konzentriert.
* objektorientiertes Software-Engineering ist ein bestimmter Raum im Software-Engineering-Gebäude, der objektorientierte Prinzipien für Softwaredesign verwendet.