Software Engineering

Die Entstehung des Begriffs Software Engineering wird gemeinhin auf die "NATO Software Engineering Conferences" 1968 (Garmisch, Deutschland) und 1969 (Rom, Italien) zurückgeführt. Die Protokolle dieser Konferenzen sind unter der URL http://homepages.cs.ncl.ac.uk/brian.randell/NATO/ als PDF-Dateien verfügbar.

Aktuell können auf normativer Ebene als zentrale Institutionen des Software Engineerings die "Special Interest Group Software Engineering" (SIGSOFT: http://www.acm.org/sigsoft) der "Association for Computing Machinery" (ACM: http://www.acm.org) und die IEEE Technical Council on Software Engineering (TCSE: http://www.tcse.org) gelten.

Die inhaltliche Entwicklung des SE fokussiert sich im Software Engineering Institute (SEI: http://www.sei.cmu.edu/), dessen bekanntestes "Produkt" das Capability Maturity Model (CMM) ist.

Während die Anfänge des SE noch von der Beschäftigung mit den gravierenden Qualitätsmängeln in der Software-Entwicklung (vgl. hierzu die Berichte der NATO SE Conferences) geprägt waren, treten spätestens ab den 90er Jahren des 20. Jhd. die Aufgaben des Projektmanagements in den Vordergrund. SE kann damit als Mischung zwischen Arbeitstechnik der Software-Erstellung und Management von Software-Projekten angesehen werden. Diese Zwitterposition, verbunden mit der extrem hohen Innovationsrate im IT-Bereich, bewirkt, dass eine einheitliche Definition des Begriffs SE noch schwer fällt.

Der IEEE-Standard 610-1990 definiert SE als:

"(1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1)"

Das SEI selbst definiert SE ebenfalls in zwei Schritten als:

  • "Engineering is the systematic application of scientific knowledge in creating and building cost-effective solutions to practical problems in the service of mankind.
  • Software engineering is that form of engineering that applies the principles of computer science and mathematics to achieving cost-effective solutions to software problems."

Aus diesen und einigen anderen Definitionen können folgende Merkmale des SE benannt werden:

  • SE umfasst Methoden, Techniken und Instrumente zur Erstellung von auf Maschinen lauffähigen Programmen (Software).
  • Ziel von SE ist die Vermeidung von Fehlern, Reduktion von Aufwänden und Erhöhung des Kundennutzens von Software
  • SE beinhaltet das Management von Entwicklungsprojekten für Software.
  • SE umfasst die Inbetriebnahme, den Betrieb und die Wartung von Software.
  • Hierzu beschreibt SE bewährte Vorgehensweisen in Modellen (Vorgehensmodelle) und definiert Qualitätsstufen für den Software-Entwicklungsprozess (CMM, PMMM).

Die aktuellen Entwicklungen des SE werden in der zweijährigen, europäischen Konferenz " European Software Engineering Conference" und der jährlich stattfindenden "International Conference on Software Engineering" (http://www.icse-conferences.org) präsentiert. Publiziert werden sie durch die IEEE in den "Transactions of Software Engineering".

 

Gemeinsam mit der IEEE TCSE bildet die SIGSOFT das "Software Engineering Coordinating Committee". Das SWECC wurde 1998 gegründet mit dem Ziel, SE als eigenständige Disziplin in der Informationstechnik zu etablieren. Hierfür fördert es eine Reihe von Projekten, deren wichtigstes wohl die Dokumentation des "Software Engineering Body of Knowledge" (SWEBOK) ist. Der SWEBOK hat als Vorbild den PMBOK(R) Guide des Project Management Institutes - der PMBOK(R) Guide ist seinerseits bereits IEEE-Standard. Die aktuelle Version des SWEBOK (Februar 2005) kann unter der URL http://www.sebok.org als PDF-File kostenlos bezogen werden.

Relevante Beiträge im Projekt Magazin
von Claus Kolb
1 Bewertung
5
0 Kommentare
Im ersten Teil haben Sie erfahren, was es bei der Vorbereitung und Planung von Scrum in SAP-Projekten zu berücksichtigen gilt. In diesem abschließenden zweiten Teil zeigen Claus Kolb und Rüdiger Lühr, auf was das Scrum-Team bei der Projektdurchführung achten sollte. Zudem geben die Autoren einen Ausblick, wie sich der Einsatz von Scrum in SAP-Projekten weiter optimieren lässt.
von Claus Kolb
6 Bewertungen
4.833335
1 Kommentar
Für IT-Projekte bringt die Scrum-Methodik viele Vorteile, der Einsatz in SAP-Entwicklungsprojekten scheint daher naheliegend. Doch in der Praxis bestehen hier einige Herausforderungen. So birgt z.B. die Arbeit an SAP-Objekten gewisse Tücken, die es beim Scrum-Einsatz zu berücksichtigen gilt. Claus Kolb schildert in diesem zweitteiligen Beitrag seine Praxiserfahrungen und gibt Empfehlungen, die den Einsatz von Scrum in SAP-Projekten vereinfachen.
von Prof. Dr. Ayelt Komus
4 Bewertungen
4.25
0 Kommentare
Der agile Wandel gilt im Projektmanagement mittlerweile als Heilsbringer schlechthin. Doch bringen agile Methoden tatsächlich den erwarteten Erfolg? Und wie kommen diese Methoden in der Praxis zum Einsatz? Zu diesen und weiteren Fragen führte die Hochschule Koblenz gemeinsam mit GPM und IPMA die Studie "Status Quo Agile" durch, an der sich über 600 Teilnehmer aus mehr als 30 Ländern beteiligten. Prof. Dr. Ayelt Komus und Moritz Kuberg fassen die wichtigsten Ergebnisse zusammen.
von Dag Frommhold
Bewertungen
0
0 Kommentare
"Schon wieder ein Meeting, muss das sein?", "Wir brauchen unsere Ressourcen für Wichtigeres.", "Uns läuft die Zeit davon." – das klingt vertraut, oder? Doch ist das nicht zu kurz gedacht? Ist nicht die Kommunikation bei Softwareprojekten die wichtigste Voraussetzung dafür, dass effizient entwickelt werden kann, und ein systematisches Feedback von Kundenseite ein Garant für kundennahes, flexibles Vorgehen in der Softwareentwicklung? Nach der Lektüre des Artikels von Dag Frommhold und Fabian Röken sollte einmal mehr klar werden, warum sinnvolle Rückmeldeschleifen in einem iterativen Softwareprojekt niemals verlorene Zeit sind.
von Bernd Götzelmann
Bewertungen
0
0 Kommentare
Durch den starken technischen Fokus bei E-Commerce-Projekten werden Aspekte des Teammanagements oft vernachlässigt. Dabei liegt gerade hier der Schlüssel zum Projekterfolg. Dr. Bernd Götzelmann und Christian Casutt schildern in ihrem Artikel wesentliche Aspekte des Team-Managements dieser Projekte.
von Olaf Clausen
Bewertungen
0
0 Kommentare
Software-Entwicklung und Zeitdruck: Zwei Begriffe, die häufig gemeinsam genannt werden. Trotz vieler guter Vorsätze, beim nächsten Projekt die Zeitplanung realistischer zu gestalten, befindet man sich unvermittelt wieder in der gleichen Situation: Das Projekt muss in einem sehr kurzen Zeitraum durchgeführt werden. Ein Erfahrungsbericht von Olaf Clausen.
von Regina Wolf-Berleb
2 Bewertungen
3
0 Kommentare
Obwohl IT-Projekte sehr unterschiedlich sind, ähneln sich die auftretenden Probleme. Regina Wolf beschreibt in ihrem Artikel die kritischen Faktoren, von denen abhängt, ob Projekte scheitern oder erfolgreich sind.
von Klaus Marquardt
Bewertungen
0
0 Kommentare
Warum ist Software zu teuer, kommt zu spät, tut nicht genug oder ist einfach schlecht? Extreme Programming (XP) zeigt Wege, ein Projekt auch unter klassisch schwierigen Bedingungen auf Qualität und Effizienz zu optimieren. Diese ausführliche Einführung umfasst drei Teile. Im ersten Teil standen die Grundlagen und die Motivation von Extreme Programming sowie die wichtigsten Prinzipien im Vordergrund. Der zweite Teil stellte nach einem Blick auf Entstehungsgeschichte die Einsatzgebiete und Ziele vor. Abschließend werden die Verfahren, die XP zur Projektplanung einsetzt, erläutert. Die Verfahren zur "Extremen" Softwareentwicklung sowie die bisherigen Erfahrungen mit XP schließen in diesem dritten Teil die Einführung ab.
von Klaus Marquardt
1 Bewertung
5
0 Kommentare
Warum ist Software zu teuer, kommt zu spät, tut nicht genug oder ist einfach schlecht? Extreme Programming (XP) zeigt Wege, ein Projekt auch unter klassisch schwierigen Bedingungen auf Qualität und Effizienz zu optimieren. Diese ausführliche Einführung umfasst drei Teile. Im ersten Teil standen die Grundlagen und die Motivation von Extreme Programming sowie die wichtigsten Prinzipien im Vordergrund. Dieser zweite Teil stellt nach einem Blick auf Entstehungsgeschichte die Einsatzgebiete und Ziele vor. Abschließend werden die Verfahren, die XP zur Projektplanung einsetzt, erläutert. Die Verfahren zur "Extremen" Softwareentwicklung sowie die bisherigen Erfahrungen mit XP schließen im dritten Teil diese Einführung ab.
von Klaus Marquardt
Bewertungen
0
0 Kommentare
Warum ist Software zu teuer, kommt zu spät, tut nicht genug oder ist einfach schlecht? Extreme Programming (XP) zeigt Wege, ein Projekt auch unter klassisch schwierigen Bedingungen auf Qualität und Effizienz zu optimieren. Diese ausführliche Einführung umfasst drei Teile. Der erste Teil klärt die Frage, was Extreme Programming eigentlich ist, erläutert die wichtigsten Grundlagen und geht auf die Prinzipien hinter XP ein. Zwei weitere Teile beschäftigen sich mit der Historie von XP, den Einsatzgebieten und Zielen, den Verfahren zur Projektplanung und Entwicklung und mit den spezifischen Rollen in einem extremen Projekt.
von Dr. Georg Angermeier
Bewertungen
0
0 Kommentare
Der Autor, Dr. Georg Angermeier, beschreibt in diesem Mehrteiler den systematischen Aufbau einer Webpräsenz nach dem Modell des Quality Function Deployment (QFD). Er führt anhand eines durchgehenden Praxisbeispiels anschaulich und leicht verständlich durch das Thema. Angermeier erklärt, wie sich Kundenanforderungen und Funktionen mit dem QFD-Modell zusammenbringen lassen und Sie somit die maßgeschneiderte Internet-Präsenz für Ihren Kunden finden.
von Dr. Georg Angermeier
1 Bewertung
5
0 Kommentare
Der Autor, Dr. Georg Angermeier, beschreibt in diesem Mehrteiler den systematischen Aufbau einer Webpräsenz nach dem Modell des Quality Function Deployment (QFD). Er führt anhand eines durchgehenden Praxisbeispiels anschaulich und leicht verständlich durch das Thema. Angermeier erklärt, wie sich Kundenanforderungen und Funktionen mit dem QFD-Modell zusammenbringen lassen und Sie somit die maßgeschneiderte Internet-Präsenz für Ihren Kunden finden.
von Alan Cooper
Bewertungen
0
0 Kommentare
Wenn Anwender eine Fehlermeldung bekommen, ist es so, als ob ihnen jemand mit lauter und herablassender Stimme sagen würde: "Schlimmer Fehler, Freundchen, diese Eingabe war leider falsch!". Solche Dialoge in Softwareprogramme zu packen, zeugt von einer schlechten Benutzerführung meint Alan Cooper und fragt auch diesmal wieder mit spitzer Zunge nach dem Grund, warum uns Software-Entwickler mit überflüssigen Fehlermeldungen bombadieren.
von Bernd Hilgenberg
1 Bewertung
1
0 Kommentare
Vielfach reduzieren sich die Arbeiten an einem Pflichtenheft auf die für die Softwareerstellung relevanten Inhalte. Es wird meist einfach nur eine Vorgabe für die Programmierung geschrieben. Doch das ist für die effiziente Erstellung eines Pflichtenhefts nicht genug. Es gibt viele Fallstricke organisatorischer und politischer Natur, die durch den rein fachlichen Teil nicht abgedeckt werden können. Bernd Hilgenberg gibt Ihnen Tipps, wie Sie Ihr Team erfolgreich durch die schwierige Phase der Pflichtenhefterstellung führen.
von Bernd Hilgenberg
5 Bewertungen
3.8
0 Kommentare
Lästiges Übel oder unverzichtbare Notwendigkeit? Im Bereich der Softwareentwicklung wird die Erstellung eines qualifizierten Pflichtenhefts oft mit geringer Priorität behandelt. Doch der Katzenjammer kommt meist hinterher, wenn immer wieder neue Forderungen die Entwicklungskosten in das Unermessliche treiben oder zugesagte Funktionen fehlen. Bernd Hilgenberg erläutert die wichtigen Bestandteile eines Pflichtenhefts. Eine fertig erstellte Vorlage zum Downloaden führt Sie Schritt für Schritt durch die Pflichtenhefterstellung.
Alle relevanten Beiträge anzeigen
Tech Link