Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Software Engineering -  Fouad Sabry

Software Engineering (eBook)

Überbrückung von Code und Automatisierung in Robotersystemen

(Autor)

eBook Download: EPUB
2024 | 1. Auflage
220 Seiten
Eine Milliarde Sachkundig [German] (Verlag)
978-0-00-069094-4 (ISBN)
Systemvoraussetzungen
4,49 inkl. MwSt
(CHF 4,35)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

Entdecken Sie die transformative Welt der Softwareentwicklung durch die Linse der Robotikwissenschaft. Dieses Buch ist eine unverzichtbare Ressource für Fachleute, Studenten und Enthusiasten, die ein tieferes Verständnis der Prinzipien der Softwareentwicklung und ihrer tiefgreifenden Rolle in der Robotik suchen. Entdecken Sie, wie Innovationen in der Programmierung die Zukunft intelligenter Systeme, Automatisierung und Spitzentechnologien vorantreiben.


Kurzübersicht der Kapitel:


1: Softwareentwicklung - Entdecken Sie die Grundlagen der Erstellung zuverlässiger, effizienter Systeme.


2: Computer - Untersuchen Sie Computermethoden und ihre Rolle im Softwaredesign.


3: Programmierer - Entdecken Sie die wichtige Rolle, die Programmierer bei der Robotikinnovation spielen.


4: Wissensbestand der Softwareentwicklung - Erhalten Sie Einblicke in bewährte Methoden und Standards der Softwareentwicklung.


5: Computertechnik - Erfahren Sie, wie Hardware und Software in Robotersystemen zusammenlaufen.


6: Professionalität der Softwareentwicklung - Verstehen Sie ethische Standards in der Technologieentwicklung.


7: Gerard J. Holzmann - Lernen Sie vom Einfluss dieses Pioniers auf Softwareentwicklung und formale Verifizierung.


8: Harlan Mills - Tauchen Sie ein in Mills' Beiträge zur strukturierten Programmierung.


9: Zertifizierter Softwareentwicklungsexperte - Entdecken Sie Qualifikationen, die SE-Karrieren prägen.


10: Endbenutzerentwicklung - Lernen Sie Programmierung kennen, die für Laien zugänglich ist.


11: Mary Shaw (Informatikerin) - Lernen Sie Shaws Vision der Softwarearchitektur kennen.


12: Elaine Weyuker - Entdecken Sie Weyukers Beiträge zu Softwaretestmethoden.


13: Softwarekonstruktion - Entschlüsseln Sie die Praktiken zur Erstellung hochwertiger Softwaresysteme.


14: Programmierethik - Denken Sie über ethische Dilemmata und Lösungen in SE nach.


15: Alexander L. Wolf - Lernen Sie aus Wolfs Arbeit in verteilten Systemen und SE-Forschung.


16: Tore Dybå - Entdecken Sie Dybås Erkenntnisse zu agilen Methoden und empirischer SE.


17: Laurie Williams (Softwareentwicklerin) - Untersuchen Sie Williams' Forschung zur kollaborativen Codierung.


18: Barbara Kitchenham - Entdecken Sie die Bedeutung von Kitchenhams Metriken und Bewertungen.


19: Computerprogrammierung - Erhalten Sie einen umfassenden Überblick über die Entwicklung der Programmierung.


20: Informatik - Verstehen Sie den breiteren Kontext der Informatik in der Softwareentwicklung.


21: Quantencomputing - Werfen Sie einen Blick auf die futuristische Integration der Quantentechnologie in die Robotik.


Dieses Buch rüstet Sie für die Herausforderungen der robotergestützten Softwareentwicklung und stellt sicher, dass seine Erkenntnisse für Ihr akademisches Wachstum, Ihren beruflichen Aufstieg und Ihre persönliche Bereicherung von unschätzbarem Wert sind. Ein Muss für alle, die sich für die Schnittstellen zwischen Ingenieurwesen, Technologie und intelligenter Automatisierung interessieren.

Kapitel 1 : Softwaretechnik


Im Bereich der Softwareentwicklung bezieht sich Software Engineering auf einen ingenieursbasierten Ansatz. Bei der Entwicklung von Software setzt ein Praktiker, der als Softwareingenieur bekannt ist, den Konstruktionsprozess in die Praxis um.

Trotz der Tatsache, dass die Ausdrücke "Programmierer" und "Programmierer" gleichbedeutend mit "Software-Ingenieur" sind, beziehen sie sich nur auf die Konstruktionskomponente der normalen Arbeit eines Software-Ingenieurs.

Ein Softwareingenieur ist für die Anwendung eines Softwareentwicklungsprozesses verantwortlich, der das Definieren, Implementieren, Testen, Verwalten und Warten von Softwaresystemen sowie das Erstellen und Aktualisieren des Entwicklungsprozesses durch die Anwendung des Prozesses umfasst.

Erst in den 1960er Jahren wurde das Software Engineering als eigenständiges Teilgebiet des Ingenieurwesens anerkannt.

Man glaubte, dass die Entwicklung von Software Engineering ein schwieriger Prozess sein würde. Zu den Problemen gehörte Software, die entweder gar nicht fertiggestellt war oder das Budget überschritten hatte, Fristen überschritt, umfangreiche Fehlerbehebungen und Wartungen erforderte und die Anforderungen der Kunden nicht erfüllte. Manchmal war die Software noch nicht einmal fertig.

Im Jahr 1968 veranstaltete die Nordatlantikpakt-Organisation (NATO) die allererste Software-Engineering-Konferenz, auf der Themen rund um Software diskutiert wurden. Um die Erstellung von Software zu erleichtern, wurden Richtlinien und effektivste Methoden entwickelt.

Eine Reihe verschiedener Quellen wurde als Ursprung des Begriffs "Software Engineering" angeführt. "Computer und Automatisierung" veröffentlichte in der Juniausgabe 1965 eine Liste der von Unternehmen erbrachten Dienstleistungen. Das Wort wurde in offiziellerer Weise in der Augustausgabe 1966 der Communications of the Association for Computing Machinery (Band 9, Nummer 8) in dem Artikel "President's Letter to the ACM Membership" von Anthony A. Oettinger verwendet. Darüber hinaus ist sie mit dem Namen einer NATO-Konferenz verbunden, die 1968 stattfand und von Professor Friedrich L. Bauer geleitet wurde. Während die Apollo-Missionen im Gange waren, lieferte Margaret Hamilton eine Beschreibung des Gebiets der "Softwaretechnik", um den durchgeführten Aktivitäten Glaubwürdigkeit zu verleihen. Der Begriff "Softwarekrise" wurde damals häufig verwendet, um die Situation zu beschreiben. Frederick Brooks und Margaret Hamilton werden Hauptreden auf den Plenarsitzungen der 40. International Conference on Software Engineering (ICSE 2018) halten, die zum Gedenken an ein halbes Jahrhundert des Bereichs "Software Engineering" abgehalten wird.

Das Software Engineering Institute (SEI) wurde 1984 als Forschungs- und Entwicklungseinrichtung gegründet, die vom Bund unterstützt wurde. Der Hauptsitz befindet sich auf dem Campus der Carnegie Mellon University in Pittsburgh, Pennsylvania, in den Vereinigten Staaten von Amerika.

Das SEI Software Process Program wurde von Watts Humphrey mit der Absicht gegründet, ein Verständnis für den Software-Engineering-Prozess zu erlangen und ihn effektiv zu verwalten. Das Capability Maturity Model Integration for Development (CMMI-DEV) wurde als Ergebnis der ursprünglich eingeführten Process Maturity Levels entwickelt. Dieses Modell skizzierte die Art und Weise, wie die Regierung der Vereinigten Staaten die Fähigkeiten ihrer Softwareentwicklungsteams analysiert.

Das Software Engineering Body of Knowledge (SWEBOK) ist eine Zusammenstellung aktueller Best Practices für das Software-Engineering, die vom ISO/IEC JTC 1/SC 7 Subcommittee zusammengestellt und veröffentlicht wurden. Diese Best Practices sind allgemein anerkannt. Es herrscht Einigkeit darüber, dass Software Engineering eine der wichtigsten Kategorien von Computern ist.

Zu den wichtigsten Definitionen von Softwareentwicklung gehören die folgenden:

Noch weniger offiziell wurde der Ausdruck auch wie folgt verwendet:

Der Begriff "Software Engineering" wurde von Margaret Hamilton populär gemacht, als sie am Apollo-Programm arbeitete. Die Arbeit sollte ebenso ernst genommen werden wie andere Beiträge zum technologischen Wachstum, und der Begriff "Engineering" wurde gewählt, um anzuerkennen, dass dies der Fall sein sollte. Hamilton bietet die folgende Verwendung des Begriffs an:

Es war das erste Mal, dass jemand von dem Begriff hörte, zumindest nicht in unserer Welt, als ich ihn zum ersten Mal erdachte. Es war eine ganze Zeit lang ein Witz gewesen. Sie machten sich gerne über mich lustig, weil ich so extreme Vorstellungen hatte. Der Tag, an dem einer der angesehensten Hardware-Experten in einem Meeting mit allen teilte, dass er mit mir übereinstimmte, dass der Prozess der Entwicklung von Software auch als technische Disziplin betrachtet werden sollte, genau wie der Prozess der Entwicklung von Hardware, war ein Tag, der lange in Erinnerung bleiben wird. Wir hatten seine und die Akzeptanz der anderen im Raum gewonnen, als ob sie in einem eigenständigen technischen Bereich tätig seien, und das lag nicht daran, dass er den neuen "Begriff" an und für sich akzeptierte; Vielmehr lag es daran, dass wir uns ihre Akzeptanz verdient hatten.

Unter Kritikern herrscht erhebliche Meinungsverschiedenheiten über die Definition von Softwaretechnik oder die Legitimität von Softwaretechnik als Fach innerhalb des Ingenieurwesens. David Parnas hat festgestellt, dass Software-Engineering in Wirklichkeit eine Art von Engineering oder Engineering im Allgemeinen ist. Laut Steve McConnell ist das nicht der Fall, aber er glaubt, dass es so sein sollte. Die Aussage, dass Programmieren sowohl eine Kunst als auch eine Wissenschaft ist, stammt von Donald Knuth. In Bezug auf die Vereinigten Staaten von Amerika behauptete Edsger W. Dijkstra, dass die Begriffe Software Engineering und Software Engineer übermäßig verwendet worden seien.

Der Prozess des Erhebens, Analysierens, Spezifizierens und Validierens von Softwareanforderungen wird als Requirements Engineering bezeichnet. Es gibt drei Optionen für die Softwareanforderungen: Domäne, nicht funktional und funktional.

Die beabsichtigten Verhaltensweisen, die häufig als Ausgaben bezeichnet werden, werden durch die funktionalen Anforderungen beschrieben. Bedenken wie Portabilität, Sicherheit, Wartbarkeit, Zuverlässigkeit, Skalierbarkeit, Leistung, Wiederverwendbarkeit und Flexibilität sind Beispiele für Dinge, die durch nicht-funktionale Anforderungen spezifiziert werden. Diese Einschränkungen können in die folgenden Kategorien unterteilt werden: Schnittstelleneinschränkungen, Leistungseinschränkungen (einschließlich Faktoren wie Reaktionsgeschwindigkeit, Sicherheit und Speicherplatz), Betriebseinschränkungen, Lebenszykluseinschränkungen (einschließlich Faktoren wie Portabilität und Wartbarkeit) und wirtschaftliche Einschränkungen. Es ist notwendig, die Funktionsweise des Systems oder Programms zu verstehen, um die nicht-funktionalen Bedürfnisse angemessen auszudrücken. Im Rahmen von Projekten beziehen sich Domain-Anforderungen auf die Merkmale, die mit einer bestimmten Kategorie oder Domain verbunden sind.

Der Prozess der Entwicklung von High-Level-Blueprints für Software wird als Beispiel für Softwaredesign bezeichnet. Es gibt Zeiten, in denen Design in Ebenen unterteilt wird:

Programmierung, auch bekannt als Codierung, Unit-Tests, Integrationstests und Debugging sind die typischen Schritte bei der Erstellung von Software. Diese Schritte sind notwendig, um das Design in die Tat umzusetzen. "Softwaretests sind verwandt mit Computersoftwaretests, unterscheiden sich aber von diesen", Fehlerbehebung"

In den meisten Fällen ist der Programmierer derjenige, der für das Testen in dieser Phase verantwortlich ist. Das Ziel dieser Tests besteht darin, sicherzustellen, dass der Code in Übereinstimmung mit seinem Design funktioniert, und zu bestimmen, wann der Code bereit ist, zur nachfolgenden Teststufe überzugehen.

Der Zweck von Softwaretests besteht darin, den Stakeholdern Informationen über die Qualität der zu testenden Software zur Verfügung zu stellen. Dies wird durch eine empirische und technische Untersuchung erreicht.

Wenn Tests in einer Weise spezifiziert werden, die sich von der Konstruktion unterscheidet, werden sie oft von Testingenieuren oder Qualitätssicherungstechnikern durchgeführt und nicht von den Programmierern, die für das Schreiben verantwortlich waren. Es wird nicht nur auf Systemebene durchgeführt, sondern auch als Bestandteil der Qualität des Programms angesehen.

Der Prozess der Untersuchung von Computerprogrammen im Hinblick auf ein bestimmtes Element wie Leistung, Robustheit oder Sicherheit wird als Programmanalyse bezeichnet.

Softwarewartung ist der Prozess der Bereitstellung von Support für Software nach der Veröffentlichung. Es kann unter anderem Aspekte wie Fehlerkorrektur, Optimierung, das Entfernen von Funktionen, die nicht genutzt oder verworfen werden, und die Verbesserung von Funktionen, die bereits vorhanden sind, umfassen.

In den meisten Fällen macht die Wartung zwischen vierzig und achtzig Prozent der Gesamtkosten des Projekts aus.

Grundkenntnisse in der Computerprogrammierung sind notwendig, um eine Karriere als Softwareentwickler zu verfolgen. Im Jahr 2004 produzierte die IEEE Computer Society das SWEBOK, das nun als ISO/IEC Technical Report 1979:2005 veröffentlicht wurde. Dieses Dokument beschreibt den Wissensbestand, den die Organisation einem diplomierten Software-Ingenieur mit vier Jahren Erfahrung empfiehlt, um ihn erfassen zu können.

Eine beträchtliche Anzahl von Software-Ingenieuren steigt in das Feld ein, indem sie zunächst einen Abschluss an...

Erscheint lt. Verlag 29.12.2024
Übersetzer Daniel Hueber
Sprache deutsch
Themenwelt Technik Maschinenbau
ISBN-10 0-00-069094-5 / 0000690945
ISBN-13 978-0-00-069094-4 / 9780000690944
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Adobe DRM)
Größe: 825 KB

Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine Adobe-ID und die Software Adobe Digital Editions (kostenlos). Von der Benutzung der OverDrive Media Console raten wir Ihnen ab. Erfahrungsgemäß treten hier gehäuft Probleme mit dem Adobe DRM auf.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine Adobe-ID sowie eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Grundlagen - Planung - Montage

von Wilfried Franke; Bernd Platzer

eBook Download (2025)
Carl Hanser Verlag GmbH & Co. KG
CHF 38,95