Softwaretechnik

Softwaretechnik (SE) ist die Anwendung einer systematischen, disziplinierten, quantitativ bestimmbaren Annäherung an die Entwicklung, Operation, und Wartung der Software und die Studie dieser Annäherungen; d. h. die Anwendung der Technik zur Software. Es ist die Anwendung der Technik zur Software, weil es bedeutende Mathematik, Informatik und Methoden integriert, deren Ursprünge in der Technik sind. Es wird auch als eine systematische Annäherung an die Analyse, das Design, die Bewertung, die Durchführung, die Prüfung, die Wartung und die Neugestaltung der Software, d. h. der Anwendung der Technik zur Software definiert.

Die Begriff-Softwaretechnik ist zuerst in der 1968-Softwaretechnikkonferenz von NATO erschienen und ist gemeint geworden, um Gedanken bezüglich der wahrgenommenen "Softwarekrise" zurzeit zu provozieren.

Softwareentwicklung, viel verwendet und mehr Oberbegriff, ordnet das Technikparadigma nicht notwendigerweise unter. Obwohl es zweifelhaft ist, welchen Einfluss es auf der wirklichen Softwareentwicklung im Laufe der letzten 40 Jahre gehabt hat, sieht die Zukunft des Feldes hell gemäß der Geldzeitschrift und Salary.com aus, der "Softwareingenieur" als der beste Job in den Vereinigten Staaten 2006 abgeschätzt hat. Außerdem 2012 hat das Wall Street Journal es der beste Job abgeschätzt.

Geschichte

Als die ersten modernen Digitalcomputer am Anfang der 1940er Jahre erschienen sind, wurden die Instruktionen, sie funktionieren zu lassen, in die Maschine angeschlossen. Praktiker haben schnell begriffen, dass dieses Design nicht flexibel war und die "speicherprogrammierte Architektur" oder Architektur von von Neumann präsentiert hat. So hat die Abteilung zwischen "Hardware" und "Software" mit der Abstraktion begonnen, die wird pflegt, sich mit der Kompliziertheit der Computerwissenschaft zu befassen.

Programmiersprachen haben angefangen, in den 1950er Jahren zu erscheinen, und das war auch ein anderer Hauptschritt in der Abstraktion. Hauptsprachen wie Fortran, Algol und COBOL wurden gegen Ende der 1950er Jahre veröffentlicht, um sich mit wissenschaftlichen, algorithmischen und Geschäftsproblemen beziehungsweise zu befassen. E.W. Dijkstra hat sein Samenpapier geschrieben, "Gehen Sie zur Behauptung Überlegt Schädlich" 1968 und David Parnas hat das Schlüsselkonzept der Modularität und Informationsverheimlichung 1972 eingeführt, um Programmierern zu helfen, sich mit der jemals zunehmenden Kompliziertheit von Softwaresystemen zu befassen. Ein Softwaresystem, für die Hardware zu führen, hat gerufen ein Betriebssystem wurde auch am meisten namentlich von Unix 1969 eingeführt. 1967 hat die Sprache von Simula das objektorientierte Programmierparadigma eingeführt.

Diese Fortschritte in der Software wurden mit mehr Fortschritten in der Computerhardware entsprochen. Mitte der 1970er Jahre wurde der Mikrocomputer eingeführt, es wirtschaftlich für Hobbyisten machend, um einen Computer zu erhalten und Software dafür zu schreiben. Das hat der Reihe nach zu jetzt berühmtem Windows von Personalcomputer (PC) und Microsoft geführt. Der Softwareentwicklungslebenszyklus oder SDLC fingen auch an, als eine Einigkeit für den zentralisierten Aufbau der Software Mitte der 1980er Jahre zu erscheinen. Das Ende der 1970er Jahre und Anfang der 1980er Jahre hat die Einführung von mehreren neuen Simula-inspirierten objektorientierten Programmiersprachen, einschließlich des Plausches, Ziels-C und C ++ gesehen.

Software der offenen Quelle hat angefangen, am Anfang der 90er Jahre in der Form von Linux und anderer Software zu erscheinen, die den "Basar" oder dezentralisierten Stil einführt, Software zu bauen. Dann das World Wide Web und die Popularisierung des Interneterfolgs Mitte der 90er Jahre, die Technik der Software wieder ändernd. Verteilte Systeme haben Schwanken als eine Weise gewonnen, Systeme zu entwerfen, und die javanische Programmiersprache wurde mit seiner eigenen virtuellen Maschine als ein anderer Schritt in der Abstraktion eingeführt. Programmierer haben zusammengearbeitet und haben das Flinke Manifest geschrieben, das leichtere Prozesse bevorzugt hat, um preiswertere und rechtzeitigere Software zu schaffen.

Die aktuelle Definition der Softwaretechnik wird noch von Praktikern heute diskutiert, als sie sich anstrengen, Weisen zu präsentieren, Software zu erzeugen, die besser schneller "preiswerter ist". Die Kostendämmung ist ein primärer Fokus von IHM Industrie seit den 1990er Jahren gewesen. Gesamtkosten des Eigentumsrechts vertreten die Kosten mehr als gerade Erwerb. Es schließt Dinge wie Produktivitätshindernisse, Unterhalt-Anstrengungen ein, und Mittel mussten Infrastruktur unterstützen.

Beruf

Gesetzliche Voraussetzungen für das Genehmigen oder Zertifikat von Berufssoftwareingenieuren ändern sich um die Welt. Im Vereinigten Königreich lizenziert die britische Computergesellschaft Softwareingenieure, und Mitglieder der Gesellschaft können auch Gecharterte Ingenieure (CEng) werden, während in einigen Gebieten Kanadas, wie Alberta, Ontarios und Quebecs, Softwareingenieure den Berufsingenieur (P.Eng) Benennung und/oder der Informationssystemfachmann (I.S.P) halten können. Benennung; jedoch gibt es keine gesetzliche Voraussetzung, um diese Qualifikationen zu haben.

Die IEEE Computergesellschaft und der ACM, die zwei Hauptberufsorganisationen der Softwaretechnik, veröffentlichen Handbücher zum Beruf der Softwaretechnik. Das Handbuch des IEEE zum Softwaretechnikkörper von Kenntnissen - 2004-Version oder SWEBOK, definiert das Feld und beschreibt die Kenntnisse, die der IEEE annimmt, dass ein praktizierender Softwareingenieur hat. Der IEEE veröffentlicht auch einen "Softwaretechnikcode der Ethik".

Beschäftigung

2004 hat das Büro von USA von der Arbeitsstatistik 760,840 Softwareingenieure aufgezählt, die Jobs in den Vereinigten Staaten halten; in demselben Zeitabschnitt gab es ungefähr 1.4 Millionen Praktiker, die in den Vereinigten Staaten in allen anderen verbundenen Technikdisziplinen angestellt sind. Wegen seiner Verhältnisneuheit als ein Studienfach wird die formelle Ausbildung in der Softwaretechnik häufig als ein Teil eines Informatik-Lehrplans unterrichtet, und viele Softwareingenieure halten Informatik-Grade.

Viele Softwareingenieure arbeiten als Angestellte oder Auftragnehmer. Softwareingenieure arbeiten mit Geschäften, Regierungsstellen (Bürger oder Militär), und gemeinnützige Organisationen. Einige Softwareingenieure arbeiten für sich als freie Mitarbeiter. Einige Organisationen haben Fachmänner, um jede der Aufgaben im Softwareentwicklungsprozess durchzuführen. Andere Organisationen verlangen, dass Softwareingenieure viele oder sie alle tun. In großen Projekten können sich Leute auf nur eine Rolle spezialisieren. In kleinen Projekten können Leute mehrere oder alle Rollen zur gleichen Zeit füllen. Spezialisierungen schließen ein: in der Industrie (Analytiker, Architekten, Entwickler, Prüfer, technische Unterstützung, middleware Analytiker, Betriebsleiter) und in der Akademie (Pädagogen, Forscher).

Die meisten Softwareingenieure und Programmierer arbeiten 40 Stunden pro Woche, aber ungefähr 15 Prozent von Softwareingenieuren und 11 Prozent von Programmierern haben mehr als 50 Stunden pro Woche 2008 gearbeitet. Verletzungen in diesen Berufen sind selten. Jedoch wie andere Arbeiter, die lange Zeiträume vor einem Computerterminal ausgeben, das an einer Tastatur tippt, sind Ingenieure und Programmierer gegen eyestrain, Zurückunbequemlichkeit und Hand- und Handgelenk-Probleme wie Handwurzeltunnel-Syndrom empfindlich.

Zertifikat

Das Softwaretechnikinstitut bietet Zertifikate zu spezifischen Themen wie Sicherheit, Prozess-Verbesserung und Softwarearchitektur an. Apfel, IBM, Microsoft und andere Gesellschaften sponsern auch ihre eigenen Zertifikat-Überprüfungen. Viele ES Zertifikat-Programme werden an spezifischen Technologien orientiert, und von den Verkäufern dieser Technologien geführt. Diese Zertifikat-Programme werden zu den Einrichtungen geschneidert, die Leute anstellen würden, die diese Technologien verwenden.

Das breitere Zertifikat von allgemeinen Softwaretechniksachkenntnissen ist durch verschiedene Berufsgesellschaften verfügbar., der IEEE hatte mehr als 575 Softwarefachleuten als Certified Software Development Professional (CSDP) bescheinigt. 2008 haben sie ein als Certified Software Development Associate (CSDA) bekanntes Einstufungszertifikat hinzugefügt. Der ACM hatte ein Berufszertifikat-Programm am Anfang der 1980er Jahre, der erwartet unterbrochen wurde, von Interesse zu fehlen. Der ACM hat die Möglichkeit des Berufszertifikats von Softwareingenieuren gegen Ende der 1990er Jahre untersucht, aber hat schließlich entschieden, dass solches Zertifikat für die Berufsindustriepraxis der Softwaretechnik unpassend war.

In Vereinigtem Königreich. die britische Computergesellschaft hat ein gesetzlich anerkanntes Berufszertifikat genannt der Gecharterte ES Fachmann (CITP) entwickelt, der für völlig qualifizierte Mitglieder (MBCS) verfügbar ist. Softwareingenieure können für die Mitgliedschaft der Einrichtung der Technik und Technologie berechtigt sein und sich so für den Gecharterten Ingenieur-Status qualifizieren. In Kanada hat die kanadische Informationsverarbeitungsgesellschaft ein gesetzlich anerkanntes Berufszertifikat genannt Information Systems Professional (ISP) entwickelt. In Ontario, Kanada, haben Softwareingenieure, die Canadian Engineering Accreditation Board (CEAB) absolvieren, Programm, erfolgreich ganzer PEO'S (Berufsingenieure Ontario) Professional Practice Examination (PPE) akkreditiert, und haben Sie mindestens 48 Monate der annehmbaren Technikerfahrung sind berechtigt, durch die Berufsingenieure Ontario lizenziert zu werden, und kann Berufliche Ingenieure P.Eng werden.

Einfluss der Globalisierung

Der anfängliche Einfluss des Ausgliederns und die relativ niedrigeren Kosten von internationalen menschlichen Arbeitskräften im Entwickeln von Ländern der dritten Welt haben zum Punkt com Luftblase-Ausbruch von den 1990er Jahren geführt. Das hatte einen negativen Einfluss auf viele Aspekte des Softwaretechnikberufs. Zum Beispiel vermeiden einige Studenten in der entwickelten Welt Ausbildung, die mit der Softwaretechnik wegen der Angst davor verbunden ist, von der Küste (das Importieren von Softwareprodukten oder Dienstleistungen aus anderen Ländern) auszugliedern und durch ausländische Visaarbeiter versetzt zu werden. Obwohl Statistiken keine Drohung gegen die Softwaretechnik selbst zurzeit zeigen; eine zusammenhängende Karriere, Computerprogrammierung scheint wirklich, betroffen worden zu sein. Dennoch hat die Fähigkeit, von der Küste und Mittel der nahen Küste über den Folgen-Sonne-Arbeitsablauf schlau zu stärken, die gesamte betriebliche Fähigkeit zu vielen Organisationen verbessert. Wenn Nordamerikaner Arbeit verlassen, kommen Asiaten gerade in die Arbeit an. Wenn Asiaten Arbeit verlassen, kommen Europäer in die Arbeit an. Das stellt eine dauernde Fähigkeit zur Verfügung, menschliches Versehen auf geschäftskritischen Prozessen 24 Stunden pro Tag zu haben, ohne Überstundenentschädigung zu bezahlen oder Schlüsselpersonalschlaf-Muster zu stören.

Ausbildung

Kenntnisse der Programmierung sind eine Vorbedingung zum Werden ein Softwareingenieur. 2004 hat die IEEE Computergesellschaft den SWEBOK erzeugt, der als ISO/IEC Technischer Bericht 19759:2004 veröffentlicht worden ist, den Körper von Kenntnissen beschreibend, dass sie glauben, sollte von einem Absolventensoftwareingenieur mit vier Jahren der Erfahrung gemeistert werden.

Viele Softwareingenieure gehen in den Beruf ein, indem sie einen Universitätsgrad oder Ausbildung in einer Berufsschule erhalten. Ein internationaler Standardlehrplan für Studentensoftwaretechnikgrade wurde durch den CCSE definiert, und 2004 aktualisiert. Mehrere Universitäten haben Softwaretechnikgrad-Programme; es gab 244 Campus-Programme, 70 Online-Programme, 230 Programme des Master-Niveaus, 41 Programme des Doktorat-Niveaus und 69 Programme des Zertifikat-Niveaus in den Vereinigten Staaten.

Zusätzlich zur Hochschulbildung sponsern viele Gesellschaften Praktika für Studenten, die möchten Karrieren in der Informationstechnologie verfolgen. Diese Praktika können den Studenten in interessante wirkliche Aufgaben vorstellen, auf die typische Softwareingenieure jeden Tag stoßen. Ähnliche Erfahrung kann durch die Wehrpflicht in der Softwaretechnik gewonnen werden.

Vergleich mit anderen Disziplinen

Hauptunterschiede zwischen Softwaretechnik und anderen Technikdisziplinen, gemäß einigen Forschern, ergeben sich aus den Kosten der Herstellung.

Subdisziplinen

Softwaretechnik kann in zehn Subdisziplinen geteilt werden. Sie sind:

  • Softwarevoraussetzungen: Der elicitation, die Analyse, die Spezifizierung und die Gültigkeitserklärung von Voraussetzungen für die Software.
  • Softwaredesign: Der Prozess, die Architektur, Bestandteile, Schnittstellen und anderen Eigenschaften eines Systems oder Bestandteils zu definieren. Es wird auch als das Ergebnis dieses Prozesses definiert.
  • Softwareaufbau: Die ausführliche Entwicklung des Arbeitens, der bedeutungsvollen Software durch eine Kombination von Codieren, Überprüfung, Einheitsprüfung, Integrationsprüfung und Beseitigen.
  • Softwareprüfung: Die dynamische Überprüfung des Verhaltens eines Programms auf einem begrenzten Satz von Testfällen, die angemessen vom gewöhnlich unendlichen Ausführungsgebiet gegen das erwartete Verhalten ausgewählt sind.
  • Softwarewartung: Die Gesamtheit von Tätigkeiten, die erforderlich sind, rentable Unterstützung zur Software zur Verfügung zu stellen.
  • Softwarekonfigurationsmanagement: Die Identifizierung der Konfiguration eines Systems an verschiedenen Punkten rechtzeitig zum Zweck, systematisch Änderungen zur Konfiguration zu kontrollieren, und die Integrität und Rückverfolgbarkeit der Konfiguration überall im Systemlebenszyklus aufrechtzuerhalten.
  • Softwaretechnikmanagement: Die Anwendung von Verwaltungstätigkeiten — Planung, dem Koordinieren, dem Messen, Überwachung, dem Steuern, und dem Melden — um sicherzustellen, dass die Entwicklung und Wartung der Software systematisch, diszipliniert und gemessen sind.
  • Softwaretechnikprozess: Die Definition, die Durchführung, die Bewertung, das Maß, das Management, die Änderung und die Verbesserung des Softwarelebenszyklus-Prozesses selbst.
  • Softwaretechnikwerkzeuge und Methoden: Die computergestützten Werkzeuge, die beabsichtigt sind, um den Softwarelebenszyklus-Prozessen zu helfen, sehen Computer Geholfene Softwaretechnik und die Methoden, die Struktur der Softwaretechniktätigkeit mit der Absicht auferlegen, die Tätigkeit systematisch und schließlich wahrscheinlicher zu machen, erfolgreich zu sein.
  • Softwarequalität: Der Grad, zu dem eine Reihe innewohnender Eigenschaften Voraussetzungen erfüllt.

Zusammenhängende Disziplinen

Softwaretechnik ist ein direktes Teilfeld der Informatik und hat einige Beziehungen mit der Verwaltungswissenschaft. Es wird auch als ein Teil der gesamten Systemtechnik betrachtet.

Systemtechnik

Systemingenieure befassen sich in erster Linie mit den gesamten Systemanforderungen und dem Design, einschließlich der Hardware und menschlichen Probleme. Sie sind häufig mit verteilender Funktionalität zur Hardware, der Software oder den menschlichen Maschinenbedienern beschäftigt. Deshalb, die Produktion der Systemtechnik bearbeiten Aufschläge als ein Eingang zum Softwaretechnikprozess.

Computersoftwareingenieure

Computersoftwareingenieure sind gewöhnlich Systemniveau (Softwaretechnik, Informationssysteme) Informatik oder Softwareniveau-Computertechnikabsolventen. Dieser Begriff schließt auch allgemeine Informatik-Absolventen mit ein paar Jahren von praktischen auf der Job-Erfahrung ein, die mit Softwaretechnik verbunden ist.

Siehe auch

  • Bakkalaureus der Naturwissenschaften in der Informationstechnologie
  • Junggeselle der Softwaretechnik
  • Liste von Softwaretechnikkonferenzen
  • Liste von Softwaretechnikveröffentlichungen
Fachmännische
  • Softwarearbeit

Weiterführende Literatur

Links


Seifenoper / Softwaretechnikinstitut
Impressum & Datenschutz